Marker Madness v1.8.3
A DaVinci Resolve Script by Resolve Tools
resolve-tools.com
──────────────────────────────────────────

WHAT IT DOES
Marker Madness is a full-featured marker manager for DaVinci Resolve.
Add, edit, search, filter, color-code, and bulk-edit markers from a
single panel. Export to HTML or CSV, detect shot changes between two
exports, sync VFX shot data with clip metadata, and exchange markers
bidirectionally with Premiere Pro and Avid Media Composer.

WHAT'S NEW IN 1.8.3
- Markers on title and generator clips (Text+, Fusion titles, etc.)
  now appear in the list. Resolve's API reports no source offset for
  generators, so their marker positions landed outside the clip and
  were silently filtered out — whole tracks of title markers looked
  empty. They're now anchored to the title itself (positions are
  approximate; edit and delete are exact).
- A broken item on one track no longer stops the scan — every track
  loads, and any per-track errors are reported in the status bar.
- New Track column in the main list (V#/A#, Ruler for timeline
  markers), sortable like every other column and included in CSV
  export. Column-drag, saved layouts, and display-order export all
  respect it.

WHAT'S NEW IN 1.8.1
- One window only — launching it again brings the window already open
  to the front instead of starting a second copy

WHAT'S NEW IN 1.8
- Batch Stamp can number as it stamps. Tick "Number each marker",
  set Digits / Start / Step and whether the number goes before or
  after the name, and you get VFX_001, VFX_002 … as the markers are
  created. No more stamping first and batch-renaming afterwards. It
  runs the same numbering engine as Batch Rename, so the results are
  identical either way, and the number only advances on a marker that
  actually lands — skipped clips and transitions don't leave gaps.
- The Stamp dialog is keyboard-driveable. Type a number on the Track
  dropdown to jump to that track (4 goes to V4), or the first letters
  of a colour to jump to it (le → Lemon). Radio buttons and check
  boxes now show which one has focus, so tabbing through is followable.
- The window opens wide enough to show the Nudge controls. It had been
  measuring its own toolbars after they'd wrapped, reading a width far
  smaller than the controls need, and concluding it was already big
  enough — then saving that too-narrow size on exit, so it came back
  clipped every launch. Nudge, Apply and Skip Confirm were off the
  right edge with nothing on screen to suggest they existed.
- Button labels stay readable while the window is focused.

WHAT'S NEW IN 1.7
- Buttons are legible again. Neutral buttons used mid-grey text on a
  near-panel grey, so the button shape was invisible and the label
  looked permanently disabled — the Undo/Redo pair measured 1.6:1
  against their own face. Every button now takes a light face with
  near-black text, and the text colour is derived from the face
  instead of hand-picked, so a new button colour can't bring the
  problem back. All button states now clear 4.5:1.
- New "Continue from highest" in Batch Rename — scans every marker in
  the timeline, finds the largest number already in use, and sets
  Start to one step past it. For slotting a new run of shots in after
  an existing 010/020/030 without renumbering from the top.
- The counter example under Step is now live. It used to be a fixed
  string promising 010, 020, 030 while Digits shipped at 2, which
  actually produces 40, 50, 60. It now reads the real fields and
  updates as you type.
- Digits now defaults to 3, so 010 / 020 / 030 is the resting state.
- Toolbar rows that don't fit the window now wrap onto extra lines.
  Previously controls past the right edge were simply unreachable —
  no scrollbar, nothing on screen to suggest they existed.
- Fixed: clearing the Counter's Start field to type a new number no
  longer breaks the preview or the Apply.

WHAT'S NEW IN 1.6
- New Version suffix in Batch Rename — tick "Version" to append a
  version tag to every marker name in one pass. Set the tag (default
  "_v"), the number, and the digits:
      _v1     tag "_v", no 1, digits 1
      _v01    tag "_v", no 1, digits 2
      -v003   tag "-v", no 3, digits 3
  Always appended LAST, after the counter and after anything the
  "After counter" option adds. Combine with Find/Replace to strip a
  file extension and stamp the version in a single pass:
      find ".mov" → replace "" , Version on  →  shot01_v1
- Changed: the Counter's Start is now the first number, not a
  multiplier. Previously the first value was Start × Step, so
  "Start: 1, Step: 10" produced 010. Now Start means what it says —
  Start 10 / Step 10 gives 010, 020, 030, and Start 10 / Step 2 gives
  010, 012, 014.
- New VFX designation — select any markers and hit "◈ Mark VFX" to
  flag them as VFX shots. The flag is stored in each marker's
  customData, so it is invisible in Resolve and never touches the
  marker's name, note, color or duration. A new VFX column and a
  VFX filter ("VFX only" / "Non-VFX") scope the whole app — table,
  CSV export, HTML report and batch rename all follow the filter.
- New "→ Metadata" — writes VFX-flagged markers into their source
  clips' metadata, where Data Burn-In can read them:
      marker name → VFX Shot #
      marker note → VFX Notes
      all names on a clip → VFX Markers
- New "← Metadata" — the reverse. Reads VFX Shot # / VFX Notes off
  every clip in the timeline and lays a VFX-flagged marker on each
  instance. Clips that already carry a VFX marker are skipped, so
  repeat runs are safe.
- Collision reporting — metadata lives on the source clip, not on the
  timeline instance, so one plate used several times can only hold one
  VFX Shot #. Rather than letting the last write win, "→ Metadata"
  reports those clips, leaves VFX Shot # untouched, and writes every
  number to VFX Markers. Marker Name burn-in still shows each instance
  correctly.
- Field names are configurable — set "vfx_fields" in prefs.json if
  your show's metadata panel uses different field names.
- Fixed: renaming or recoloring a marker no longer wipes its
  customData. Every marker write now carries the existing payload
  through instead of blanking it.

WHAT'S NEW IN 1.5
- New Media Pool mode — a Timeline ⇄ Media Pool toggle. Select clip(s)
  in the Media Pool (the same selection that loads the source viewer)
  and the table shows their source-clip markers. Batch recolor, batch
  rename, edit names/notes, and delete — across every selected clip at
  once. Changes appear in the source viewer instantly.
- Marker timecodes in Media Pool mode use each clip's own Start TC and
  frame rate.
- Not available in Media Pool mode (Resolve provides no API for the
  source viewer's playhead or frame grabs): Jump to Marker, Add at
  Playhead, Batch Stamp, frame grabs/exports, the Transfer buttons,
  Nudge, and CSV / Marker Exchange import. The buttons tell you
  politely instead of failing.

WHAT'S NEW IN 1.4.5
- New Copy→Track / Move→Track — transfer clip markers straight from
  one track to another (e.g. V1 → V4), with the same track picker,
  offset and color options, conflict skipping, and full undo/redo

WHAT'S NEW IN 1.4.4
- New Track filter — filter the marker table by track (V1, V2, A1…)
  alongside Color and Type; applies to batch rename scope, exports,
  and Delete All
- Fixed: editing clip markers on tracks above V1 (batch rename,
  inline edits, recolor) created duplicate markers on V1 — edits now
  stay on the marker's own track and verify the clip before writing

WHAT'S NEW IN 1.4.3
- Fixed first-launch window sizing on smaller displays

REQUIREMENTS
• DaVinci Resolve 18 or later
• macOS

INSTALLATION
1. Copy "Marker Madness 1.8.3.py" to:
   ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/
   Fusion/Scripts/Utility/

   (Create the Utility folder if it doesn't exist.)

2. Restart DaVinci Resolve if it is already running.

LAUNCH
From the Resolve menu bar:
   Workspace → Scripts → Utility → Marker Madness 1.8.3

FULL DOCUMENTATION
   resolve-tools.com/marker-madness-guide

QUESTIONS OR FEEDBACK
   resolve-tools.com/feedback
